package com.shangxian.giveithome.entity.community;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

//@NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集（size = 0）。
//@NotEmpty://CharSequence, Collection, Map 和 Array 对象不能是 null 并且相关对象的 size 大于 0。
//@NotBlank://String 不能是 null 且去除两端空白字符后的长度（trimmed length）大于 0。
/**
 * 评论表
 */
@Data
public class Comment {

    /**
     * 评论的id
     */
    private Long id;

    /**
     * 用户id
     */
    private Long cuId;

    /**
     * 文章id
     */
    //评论id不能为空，如果为int或者long类型使用NOtNull
    @NotNull(message = "评论文章id不能为空")
    private Long issueId;

    /**
     * 评论的内容
     */
    //注意在使用@NotBlank等注解时，一定要和@valid一起使用，不然@NotBlank不起作用，且作用在字符串
    private String content;

    /**
     * 评论的时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd ")
    @JsonFormat(
            pattern = "yyyy-MM-dd ",
            timezone = "GTM+8"
    )
    private Date commentTime;

    /**
     * 文章用户的id
     */
    private Long usId;

    /**
     * 文章状态
     */
    private Long state;
}
